查看原文
其他

解读计算机处理器之殇 - Meltdown 与 Spectre

2018-01-06 BDomne 看雪学院



0x00 漏洞简评



虽然计算机经过了这么多年的发展,但至今仍构筑在最初的冯氏体系上。因而很自然的,CPU 就成了提升速度的关键瓶颈,除了依赖早期摩尔定律那样的集成电路技术外,性能优化也是其中重要的一环。


而谈及计算机性能优化就不得不提 Cache 机制,此次的 CPU 漏洞简言之就是没处理好 Cache(广义)未命中的情况,借助侧信道攻击可导致信息的泄露,从而使得原有内核态与用户态隔离、进程间隔离的保护机制能被轻易绕过。


随着 CPU 漏洞事件的不断发酵,更多技术细节也开始浮出水面,最新研究表明自 95 年后生产的现代 CPU 都可能存在这些问题。


对无打算更换 CPU 的普通用户来说应该及时更新补丁,性能上必然会受影响,但还不至于太显著。当然,这次事件也给出了一个漏洞挖掘的好思路,芯片安全应该引起我们更多的关注。



0x01 概述



Google Project Zero 公布的 Meltdown(CVE-2017-5754)与 Specter(CVE-2017-5753、CVE-2017-5715)两组漏洞几乎影响所有的主流 CPU,其中就包括了 AMD、ARM 和 Intel。


同时,云端设备、PC、笔记本、平板和智能手机都受到了波及,恶意者可利用这些漏洞来窃取计算机上的敏感数据。


两组漏洞都源于 “推演执行(speculative execution)” 的特性。为了提高性能,CPU 会基于假设推演来预先选择待执行的分支,之后在程序执行期间,如果推演是有效的,那么照此继续执行,如果无效则根据实际情况选择正确的路径执行。


对恶意者来说,可以借助侧信道攻击使 CPU 在推演无效时仍继续执行,从而导致信息的泄露



0x02 Meltdown 攻击



Meltdown 漏洞利用到了无序执行指令(Out-of-Order)模式,可允许恶意者读取目标设备的整个物理内存空间,而不单是内核空间,从而泄露出操作系统及其上应用程序的所有信息。


利用程序中借助了处理器提权漏洞,使得指令可以绕过内存保护,从而由 “推演执行” 特性绕过用户层到内核层的限制,这就使得应用程序也能访问系统为内核分配的空间。



0x03 Spectre 攻击



要完全解决 Spectre 漏洞需改变处理器的架构,因此该漏洞不容易修补且会困扰人们很长一段时间。


它打破了不同进程间的隔离机制,攻击者会先让进程访问其内部的特定空间,而后通过侧信道方式读取相应数据,从而泄露出程序信息。


Spectre 攻击不仅可以用于内核层到用户层的信息泄露,还可用于虚拟化中 Hypervisor 层到 Client 层的信息泄漏。此外,借助 JS 代码还可实现浏览器沙箱逃逸:



需要注意的是,用于防护 Meltdown 攻击的 KAISER 机制对其是不适用的。



0x04 漏洞的修复



  • Windows OS (7/8/10) 和 Microsoft Edge/IE


    微软已经发布了针对 Windows 10 的安全更新(KB4056892),用于解决 Meltdown 问题,并将于 1 月 9 日发布针对 Windows 7 和 Windows 8 的修复程序。


  • Linux OS


    Linux 也发布了内核补丁,版本包括 4.14.11、4.9.74、4.4.109、3.16.52、3.18.91 和 3.2.97,用户可以从 Kernel.org 上下载。


  • Apple macOS、iOS、tvOS 和 Safari Browser


    Apple 在公告中指出,所有 Mac 系统和 iOS 设备都受到了影响,但目前还没有已知的攻击事件发生。


    为了预防 Meltdown 攻击,Apple 已经在 iOS 11.2、macOS 10.13.2 和 tvOS 11.2 上释出了缓解措施,针对 Spectre 攻击的修复方案将在后续发布。


  • Android OS


    Google 表示,1 月 5 日发布的安全更新已经释出了最新版的 Android 操作系统。


  • Firefox Web Browser


    Mozilla 已经发布了 Firefox 57.0.4 版本,其中包含针对 Meltdown 和 Spectre 攻击的缓解措施,建议用户尽快更新。


  • Google Chrome Web Browser


    Google 计划在 1 月 23 日发布 Chrome 64 版本用于防御针对 Meltdown 和 Spectre 的攻击,在此期间,用户可启用 “Site Isolation” 功能。


  • VMware


    云计算厂商 VMware 也发布了受影响的产品清单以及针对 Meltdown 攻击的修复措施。



更多详情可参考看雪论坛专题帖:

详情戳左下角“阅读原文”



本文由看雪翻译小组 BDomne 编译,来源hackernews

转载请注明来自看雪社区


热门阅读



点击阅读原文/read,

更多干货等着你~


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存